package com.xiang.entity;

import java.util.List;

import com.xiang.constant.Url;
import com.xiang.utils.Sign;

import cn.edu.fzxy.zxy.niceday.utils.RequestParameter;

public class FindDealsEntity extends BaseEntity {
	public String city;// 包含团购信息的城市名称
	public String region;// 包含团购信息的城市区域名
	public String category;// 包含团购信息的分类名
	public String keyword;// 关键词，搜索范围包括商户名、商品名、地址等
	public String sort;// 结果排序，1:默认，2:价格低优先，3:价格高优先，4:购买人数多优先，5:最新发布优先，6:即将结束优先，7:离经纬度坐标距离近优先.
	public String limit = "15";// 每页返回的团单结果条目数上限，最小值1，最大值40，如不传入默认为20
	public String page = "1";// 页码，如不传入默认为1，即第一页

	public FindDealsEntity(String _city) {
		this.city = _city;
		initParameterList();
	}

	@Override
	public String getUrl() {
		this.url = Url.find_deals;
		return url;
	}

	@Override
	public String getSendData() {
		return null;
	}

	@Override
	public List<RequestParameter> getParameterList() {
		if (city != null && !(city.equals(""))) {
			parameterList.add(new RequestParameter("city", city));
			paramMap.put("city", city);
		}

		if (region != null && !(region.equals(""))) {
			parameterList.add(new RequestParameter("region", region));
			paramMap.put("region", region);
		}

		if (keyword != null && !(keyword.equals(""))) {
			parameterList.add(new RequestParameter("keyword", keyword));
			paramMap.put("keyword", keyword);
		}

		if (category != null && !(category.equals(""))) {
			parameterList.add(new RequestParameter("category", category));
			paramMap.put("category", category);
		}

		if (sort != null && !(sort.equals(""))) {
			parameterList.add(new RequestParameter("sort", sort));
			paramMap.put("sort", sort);
		}

		if (limit != null && !(limit.equals(""))) {
			parameterList.add(new RequestParameter("limit", limit));
			paramMap.put("limit", limit);
		}

		if (page != null && !(page.equals(""))) {
			parameterList.add(new RequestParameter("page", page));
			paramMap.put("page", page);
		}
		parameterList.add(new RequestParameter("sign", getSign()));
		return parameterList;
	}

	@Override
	public String getSign() {
		sign = Sign.sign(appKey, secret, paramMap);
		System.out.println("##########sign: "+sign);
		return sign;
	}

}
